package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;

import com.toedter.calendar.JDayChooser;

import javax.swing.JButton;

import negocio.Cursada;
import negocio.Examen;
import negocio.ExamenControlador;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.Date;

import com.toedter.calendar.JDateChooser;

public class CrearInstanciaEvaluacion extends JFrame {

	private JPanel contentPane;
	private JTextField textField;
	private JLabel lblFecha;
	ExamenControlador examenControlador= new ExamenControlador();
	private JDateChooser dateChooser;

	/**
	 * Launch the application.
	 */
	/*public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CrearInstanciaEvaluacion frame = new CrearInstanciaEvaluacion();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public CrearInstanciaEvaluacion(NotasYExamenes padreNotasYExamenes, Cursada cursadaSeleccionada) {
		
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				padreNotasYExamenes.nullCrearInstanciaEvaluacion();
				dispose();
			}
		});	
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 450, 105);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		this.setTitle("Crear cursadas o instancia de evaluacion");
		
		JLabel lblNombreDelExamen = new JLabel("Nombre del examen o trabajo practico");
		lblNombreDelExamen.setBounds(10, 11, 191, 14);
		contentPane.add(lblNombreDelExamen);
		
		textField = new JTextField();
		textField.setBounds(211, 8, 191, 20);
		contentPane.add(textField);
		textField.setColumns(10);
		
		lblFecha = new JLabel("Fecha");
		lblFecha.setBounds(10, 36, 46, 14);
		contentPane.add(lblFecha);
		
		dateChooser = new JDateChooser();
		dateChooser.setBounds(66, 30, 87, 20);
		contentPane.add(dateChooser);
		
		
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				padreNotasYExamenes.nullCrearInstanciaEvaluacion();
				dispose();
			}
		});
		btnCancelar.setBounds(335, 39, 89, 23);
		contentPane.add(btnCancelar);
		
		JButton btnCrear = new JButton("Crear");
		btnCrear.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				
				String s = ((JTextField)dateChooser.getDateEditor().getUiComponent()).getText();
				
				if (s.equals("") || textField.getText().equals("") ) {
				    JOptionPane.showMessageDialog(contentPane, "Campos incompletos. Por favor, complete los campos", "Error", JOptionPane.ERROR_MESSAGE);
				}
				
				else{
				
				Date date= new Date(dateChooser.getDate().getYear(), dateChooser.getDate().getMonth(), dateChooser.getDate().getDay());
				Examen nuevo = new Examen(cursadaSeleccionada, date, textField.getText(),cursadaSeleccionada.getId());
				padreNotasYExamenes.agregarInstanciaEvaluacion(nuevo);
				examenControlador.guardar(nuevo);
				dateChooser.setCalendar(null);
				textField.setText("");				
				dispose();
				
				} //fin del else
				
			}
		});
		btnCrear.setBounds(236, 39, 89, 23);
		contentPane.add(btnCrear);
		
	}
}
